Systems and methods for providing dynamic robotic control systems

ABSTRACT

An articulated arm system is disclosed that includes an articulated arm including an end effector, and a robotic arm control systems including at least one sensor for sensing at least one of the position, movement or acceleration of the articulated arm, and a main controller for providing computational control of the articulated arm, and an on-board controller for providing, responsive to the at least one sensor, a motion signal that directly controls at least a portion of the articulated arm.

PRIORITY

The present application is a continuation of U.S. patent applicationSer. No. 16/828,029, filed Mar. 24, 2020; which is a continuation ofU.S. patent application Ser. No. 15/254,592, filed Sep. 1, 2016, nowU.S. Pat. No. 10,647,002, issued on May 12, 2020; which claims priorityto U.S. Provisional Patent Application Ser. No. 62/212,697 filed Sep. 1,2015 and U.S. Provisional Patent Application Ser. No. 62/221,976 filedSep. 22, 2015, the disclosures of which are herein incorporated byreference in their entireties.

BACKGROUND

The invention generally relates to robotics, and relates in particularto robotic control systems that are designed to accommodate a widevariety of unexpected conditions and loads.

Most industrial robotic systems operate in a top-down manner, generallyas follows: a controller samples a variety of sensors, and then logic onthat same controller computes whether or not to take action. The benefitof this logic flow (usually referred to as “polling”) is that all of thecontrol logic is in the same place. The disadvantage is that inpractical robotic systems, the signals are often sampled quite slowly.Also, all sensors must be wired to the control cabinet leading to longand error-prone cable runs.

A specific example of this traditional architecture would generally beimplemented by a legacy robot supplier such as those sold by ABBRobotics, Inc. of Auburn Hills, Mich., Kuka Roboter GmbH of Germany,Fanuc America Corporation of Rochester Hills, Mich., or one of theirtop-tier integrators. All of these suppliers generally encourage thesame architecture, and have similar form factors. For example: a weldingcell used in an automotive facility might have an ABB IRC5 controlcabinet, an ABB IRB2600 1.85 m reach 6 degree of freedom robot, a MillerGMAW welding unit wired over an industrial bus (Devicenet/CANbus) to theIRC5, and an endo-farm tooling package mounting a GMAW torch (e.g., aTregaskiss Tough Gun). All programming is done on the IRC5, and the endeffector has no knowledge of the world, and things like crashes can onlybe observed or prevented on the IRC5, which is itself quite limited.

Again, in such systems, however, the signals are often sampledrelatively slowly and sensors must generally be wired to the controlcabinet. There remains a need therefore, for a robotic control systemthat is able to efficiently and reliably provide dynamic control andresponsiveness to conditions in the environment of the robot.

SUMMARY

In accordance with an embodiment, the invention provides an articulatedarm system that includes an articulated arm including an end effector,and a robotic arm control systems including at least one sensor forsensing at least one of the position, movement or acceleration of thearticulated arm, and a main controller for providing computationalcontrol of the articulated arm, and an on-board controller forproviding, responsive to the at least one sensor, a motion signal thatdirectly controls at least a portion of the articulated arm.

In accordance with another embodiment, the invention provides anarticulated arm system including an articulated arm including an endeffector, and an articulated arm control system including at least onesensor for sensing at least one of the position, movement oracceleration of the articulated arm, a main controller for providingcomputational control of the articulated arm, and an on-board controllerfor providing, responsive to the at least one sensor, a control signalto the main controller.

In accordance with another embodiment, the invention provides a methodof providing a control signal to an end effector of an articulated arm.The method includes the steps of providing a main control signal from amain controller to the end effector of the articulated arm, receiving asensor input signal from at least one sensor positioned proximate theend effector, and at least partially modifying the main control signalresponsive to the sensor input signal.

In accordance with a further embodiment, the invention provides a methodof providing a control signal to an end effector of an articulated arm.The method includes the steps of providing a main control signal from amain controller to the end effector of the articulated arm, receiving asensor input signal from a sensor positioned proximate the end effector,and overriding the main control signal responsive to the sensor inputsignal.

BRIEF DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS

The following description may be further understood with reference tothe accompanying drawings in which:

FIG. 1 shows an illustrative diagrammatic view of an end effector usedin a robotic system in accordance with an embodiment of the invention;

FIG. 2 shows an illustrative diagrammatic view of an on-board controllerused in the end effector of FIG. 1;

FIG. 3 shows an illustrative diagrammatic view of processing steps usedby a robotic control system in accordance with an embodiment of theinvention;

FIG. 4 shows an articulated arm system in accordance with an embodimentof the invention;

FIG. 5 shows an illustrative block diagram of a robotic control systemin accordance with an embodiment of the invention;

FIGS. 6A and 6B show an illustrative diagrammatic views of illustrativeprocessing steps used by the robotic control system of FIG. 5;

FIG. 7 shows an illustrative diagrammatic view of the articulated armsystem of FIG. 4 with the end effector rotated 180 degrees; and

FIGS. 8A and 8B show illustrative diagrammatic views of end effectorsfor use in further embodiments of the invention.

The drawings are shown for illustrative purposes only.

DETAILED DESCRIPTION

In accordance with an embodiment, the invention provides an architecturefor robotic end effectors that allows the end effector to alter thestate of the robot. In accordance with certain embodiments, the endeffector may observe the environment at a very high frequency andcompare local sensor data and observations to a set of formulas ortrigger events. This allows for robot-agnostic low latency motionprimitive routines, such as for example move until suction and moveuntil force without requiring the full response time of the robotic maincontroller. A robotic end effector is therefore provided that can alterthe state of the robot, and further that may be modified during run timebased on a variety of control policies. In accordance with furtherembodiments, the invention provides a multifaceted gripper designstrategy has also been developed for multimodal gripping without toolchangers.

A majority of industrial robotic systems execute their programming logiccontrol in one place only—in the robot controller. The robot controllerin these systems is often a large legacy controller with an obscure and(and sometimes poorly featured) programming language. In contrast, themajority of modern and emerging robotic systems contain logicdistributed between a robot controller and several workstation computersrunning a modern operating system and software stack, such as the Ubuntuoperating system as sold by Canonical Ltd. of Isle Of Man, the Linuxoperating system as provided by The Linux Foundation of San Francisco,Calif. and the ROS robotic operating environment as provided by OpenSource Robotics Foundation of San Francisco, Calif.

A positive aspect of these architectures is that they providetremendous, even arbitrary, amounts of computing power that may bedirected towards problems like motion planning, localization, computervision, etc. The downsides of this architecture are primarily that goingthrough high-level middleware such as ROS adds significant latency, andevaluating a control policy in a loop may see round trip times of wellover 100 ms.

As a unifying solution for this problem, a gripper control system hasbeen developed with onboard electronics, sensors, and actuators to whichhigh level logic controlling the system uploads a set of ‘triggers’ atruntime. These are control policies, such as stop the robot when a forceabove X Newtons is observed, or when object is observed by depth sensor,slow down the trajectory. The end effector may then evaluate the policynatively at the kHz level, and trigger actions of situations where thegripper should take an action.

FIG. 1 shows a portion of an articulated arm assembly that includes aforce sensor system 1, on-board control electronics 2, a vacuum endeffector 3, a three dimensional depth sensor system 4, an input pressuresensor 5, an output pressure sensor 6, and another vacuum end effector7. The articulated arm therefore includes on-board control electronics 2as well as multiple end effectors 3, 7. In certain embodiments, thearticulated arm may include a further end effector similar to endeffector 3 that is adjacent end effector 3 (and is therefore not shownin FIG. 1).

FIG. 2 shows the on-board control electrics 2, which includes connectors11 for the force sensors, connectors 12 for the robot, connectors 13 forthe pressure sensors, connectors 14 for LEDs such as RGB LEDs, andconnector 15 for a microcontroller with serial and wireless connections.

In accordance with an embodiment, the invention provides an articulatedarm control system that includes an articulated arm with an endeffector, at least one sensor for sensing at least one of the position,movement or acceleration of the articulated arm, a main controller forproviding computational control of the articulated arm, and an on-boardcontroller for providing, responsive to the at least one sensor, acontrol signal to the main controller.

FIG. 3 shows, for example, shows a pre-programmed robot control routinethat begins (step 300), executes a first batch program (step 302), pollssensors for inputs (step 304), executes a second batch program (step306), polls the sensors again for inputs (step 308), executes a thirdbatch program (step 310), and then ends (step 312). If the system isrelying on sensor inputs to cause a change in the program (e.g., stopdue to readings of a force sensor), the system must wait for that sensorto be polled. In accordance with embodiments of the present invention,on the other hand, interrupt signals may be provided to the main robotcontroller to cause pre-defined specific responses. As diagrammaticallyshown in FIG. 3, such interrupt signals may be received any time andimmediately processed.

FIG. 4 shows a robotic system 20 in accordance with an embodiment of thepresent invention in which the articulated arm portion of FIG. 1(including the force sensor system 1, on-board control electronics 2,the vacuum end effector 3, the three dimensional depth sensor system 4,the input pressure sensor 5, the output pressure sensor 6, and the othervacuum end effector 7) is attached to further articulated arm sections22, 24, 26, 28 and 30. The articulated arm section 30 is attached to arobot base 32, which is coupled to a main robot controller 34 byconnector cables 36. An interrupt signal may be provided from theon-board control electronics 2 to the main robot controller 34 either bydirect wire connection or wirelessly.

This solution conveys several tremendous advantages: First, one may addthe advanced behaviors one generates to any robot, as long as the robotcomplies with a relatively simple API. Second, one may avoid long cableruns for delicate signals, from the end effector to the robot controlbox (which is often mounted some distance away from a work cell). Third,one may respond to changes in the environment at the speed of a nativecontrol loop, often thousands of times faster than going exclusivelythrough high level logic and middleware. Fourth, one may alter thesepolicies at runtime, switching from move until suction to stop on lossof suction, as well as chaining policies.

In accordance with a further embodiment, the invention provides a methodof altering or overriding a control signal from a main controller to anend effector.

FIG. 5, for example, shows an implementation of the on-board controlelectronics 2. The electronics 2 receives at 40 control signals from themain robot controller 34 (shown in FIG. 4), which causes motors M1, M2,M3 (shown at 42, 44 and 46) and the vacuum (shown at 48) of thearticulated arm to move. The motors may control, for example, elbow,wrist and gripper motors of the articulated arm. In the absence of anyfeedback signals from the environment, the control signals 40 are routedto the appropriate motors for control of the articulated arm inaccordance with the program in the main controller.

The electronics 2 however, is also coupled to input sensors includingpressure sensors 50, 52 and 54, a camera 56, force/torque sensors 58, 60deflection/deformation sensor 62 and flow sensor 63. These sensors arecoupled to an on-board controller 64 that determines whether to send aninterrupt signal to the main robotic controller, and determines whetherto immediately take action by overriding any of the output signals tomotors M1-M3 and the vacuum. This is achieved by having the on-boardcontroller 64 be coupled to control junctions 66, 68, 70 and 72 in thecontrol paths of the signals 42, 44, 46 and 48.

The robot, for example, may be working in very cluttered, dynamicenvironments. In order to manipulate objects in these conditions, oneneeds much more sensing than a typical, more structured, open-looprobotic system would need. The grippers are therefore instrumented withabsolute pressure sensors, a 3D RGBD camera, force-torque sensor, andsuction cup deflection sensing. By sensing and processing the sensordata directly at the wrist via a microcontroller hardware interrupts maybe set (via digital inputs) immediately (hundreds/thousands of Hz).There is much more overhead in the other approach of communicating thesensor data back to the main robotic controller for analysis, whichwould be significantly slower. This allows one to modify robotmotion/execution significantly faster, which in turn allows one to movethe robot significantly faster, adapting at speeds not possibleotherwise. In these dynamic and unpredictable environments, adapting andproviding recovery quickly is vitally important.

The pressure sensors, for example, may provide binary gripping/notgripping, and threshold comparisons (>grip pressure, <required retractpressure, <drop pressure). The pressure sensors may also map materialproperties/selected grasps to expected pressure readings and inreal-time modify trajectory execution (speeds, constraints) in order toensure successful transportation. The pressure sensors may also providereal-time monitoring of upstream pressure (pressure from source) toensure expected air pressure available, and modify expected suctionmeasurements from downstream accordingly.

The camera may be an RGBD camera that provides data regardingenvironment registration, automated localization of expected environmentcomponents (conveyor, out shelves, out-bin stack) to remove hand tuning,and expected/unexpected objects/obstacles in the environment and modifytrajectory execution accordingly.

The force-torque sensors may provide impulse interrupts. When an unusualor unexpected force or torque is encountered we can stop trajectoryexecution and recover, where the robot before would have continued itsmotion in collision with that object causing damage to the object orrobot. The force-torque sensors may also provide mass/COM estimates,such as Model Free mass estimates that may inform trajectory executionto slow down as one may be dealing with higher mass and inertias at theendpoint, which are more likely to be dropped due to torqueing off.Model Based mass estimates may also be used to ensure quality of graspabove COM, make sure that the correct item is grasped, that the item issingulated, and that the item is not damaged (unexpected mass).

The deflection/deformation sensor may observe suction cup contact withthe environment (typically when one wants to interrupt motion) as thebellows are deflected and have not modified pressure readings, and havenot yet displayed a noticeable force impulse. The deflection sensor atits simplest will be used for interrupting motion to avoid robot ForceProtective Stops by being that earliest measurement of contact. Thedeflection/deformation sensor may also measure the floppiness of thepicks, which allows one in real-time to again modify trajectoryexecution, slowing down or constraining the motions to ensure successfultransport, or putting it back in the bin if the floppiness is beyond athreshold at which the item may be safely transported.

The flow sensors may detect changes in the amount of airflow as comparedto expected air flow values or changes. For example, upon grasping anobject, it is expected that the airflow would decrease. Once an objectis grasped and is being carried or just held, a sudden increase in airflow may indicate that the grasp has been compromised or that the objecthas been dropped. The monitoring of weight in combination with air flowmay also be employed, particularly when using high flow vacuum systems.

With reference to FIG. 6A, the program begins (step 600), by applyingthe end effector to an object at a selected grasp location (step 602). Avacuum is applied to the end effector (step 604), and the sensors arepolled (step 606). Responsive to the sensor inputs, the systemdetermines whether it should try to pick up the object (step 608). Forexample, if too much vacuum flow is detected, the system may determinethat the grasp is insufficient for picking up the object. In this case,the system will determine (step 610) whether there have already been toomany tries to pick up this particular object (possibly involving themain controller). If there have not already been too many retries, thesystem may select another grasp location for the object (step 612) andreturn to step 602 above. If the system determines that there havealready been too many retries, the system will select a new object and anew associated grasp location (step 614) and return to step 602 above.

If the system determines that the object should be picked up (step 608),the system will then lift the object (step 616) and then read thesensors (step 618). If the orientation of the end effector needs to beadjusted, the system adjusts the orientation of the end effector (step620), for example to cause a heavy object to be held in tension(vertically) by the end effector as opposed to a combination of avertical and horizontal grasp that would cause a sheer force to beapplied. In another example, the system may choose the hold a lighterobject with a combination of a vertical and horizontal grasp toaccommodate a high speed rotation movement so that when the object isbeing moved, a centrifugal force will be applied in the directionaligned with the grasp of the object. Once the orientation of the endeffector is chosen (step 620), the system will choose a trajectory path(step 622), and then begin execution of the trajectory, e.g., the batchprogram N (step 624).

With reference to FIG. 6B, the execution of the batch program N maybegin by polling the one or more sensors for inputs (step 626). If noneof the inputs exceeds a defined threshold for the main control command(step 628), e.g., to move in a certain vector, then the system willcontinue to execute the batch program (step 630) until done (whereuponthe system returns to step 614). If the batch program is not done, thesystem returns to step 626, polling the sensor(s) for inputs. If any ofthe inputs from the sensor(s) do exceed a threshold (step 628), then thesystem will determine whether the main control command should be altered(e.g., movement slowed or the path changed) (step 632), and if so, theprogram will so alter the main control command (step 634). If the maincontrol command is not altered, the system will determine whether themain control command should be overridden (step 636), e.g., movement ofthe end effector should be stopped or the object should be put down fora new grasp attempt, or the object has been dropped, in which case, thesystem will proceed to pick up a new object and signal for cleaning by ahuman that an object has been dropped. In any of the exemplary cases,the program will so override the main control command (step 638). Ineither case, the system then returns to executing the batch program aseither altered or overridden, returning to step 626 until done. If themain control signal for a batch program is changed (altered oroverwritten), the main controller is also promptly notified.

In accordance with another embodiment, the invention provides anarticulated arm control system includes an articulated arm with an endeffector, at least one sensor for sensing at least one of the position,movement or acceleration of the articulated arm, and a main controllerfor providing computational control of the articulated arm, and anon-board controller for providing, responsive to the at least onesensor, a motion signal that directly controls at least a portion of thearticulated arm.

FIG. 7, for example shows the robotic system 20 of FIG. 4 except thatthe articulated arm portion of FIG. 1 is rotated with respect to thearticulated arm section 22 such that the vacuum end effector 3 is nowpositioned to engage the work environment, while the vacuum end effector7 is moved out of the way.

A unique contribution of the articulated arm is its multiple facets formultimodal gripping, e.g., having multiple grippers packaged on a singleend effector in such a way that the robot can use different grippers byorienting the end effector of the robot differently. These facets can becombined in combinations as well as used individually. Other more commonapproaches are tool changers, which switch a single tool out with adifferent one on a rack. Multimodal gripping of the present inventionreduces cycle time significantly compared to tool changers, as well asbeing able to combine multiple aspects of a single end effector to pickup unique objects.

The gripper designs in the above embodiments that involved the use of upto three vacuum cups, may be designed specifically for picking items ofless than a certain weight, such as 2.2 lbs., out of a clutter ofobjects, and for grasping and manipulating the bins in which the objectswere provided.

The same approach to instrumentation of a vacuum grasping end effectormay be applied to any arbitrary configuration of vacuum cups as well.For example, if the robotic system needs to handle boxes such as mightbe used for shipping of things, then arbitrary N×M arrangements of thesuction cells may be created to handle the weight ranges of suchpackages. FIG. 8A for example shows an end effector 70 that includes a 3by 3 array of end effector sections 72, each of which includes a vacuumcup 74. Each end effector section 72 may include pressure sensors asdiscussed above, and each vacuum cup 74 may include a deformation sensorthat is able to detect deformation along any of three dimensions. Theend effector sections 72 are mounted to a common base 76 that includes acoupling 78 for attachment to an articulated arm.

FIG. 8B shows an end effector 80 that includes a 6 by 6 array of endeffector sections 82, each of which includes a vacuum cup 84. Again,each end effector section 82 may include pressure sensors as discussedabove, and each vacuum cup 84 may include a deformation sensor that isable to detect deformation along any of three dimensions. The endeffector sections 82 are mounted to a common base 86 that includes acoupling 88 for attachment to an articulated arm.

The 3×3 array that may, for example, handle up to 19.8 pound packages,and the 6×6 array that may handle up to 79.2 pounds. Such scaling of endeffector sections may be made arbitrarily large, and of arbitrary shapes(if, for example, the known objects to be handled are of a particularshape as opposed to generally square/rectangular).

It is significant that by extrapolating the standard vacuum cell toarbitrary sizes/shapes, such an instrumented end effector may bedesigned for any given object or class of objects that shares all thebenefits of such instrumentation as the above embodiments.

Those skilled in the art will appreciate that numerous variations andmodifications may be made to the above disclosed embodiments withoutdeparting from the spirit and scope of the present invention.

What is claimed is: 1.-25. (canceled)
 26. A robotic system comprising: arobot including an articulated arm and an end effector coupled thereto;and a robot control system including: at least one sensor for sensing atleast one of a position, movement, acceleration, deformation vacuum flowor vacuum pressure of the end effector; a main controller remote fromthe robot and configured to automatically provide at least one maincontrol signal to the end effector; and an on-board controller mountedon the robot proximate the end effector and coupled to the at least onesensor, wherein the on-board controller is configured to execute on theon-board controller a robot-agnostic routine until an interrupt signalis sent to the main controller responsive to the sensor output signal.27. The robotic system as claimed in claim 26, wherein the at least onesensor includes any of a vacuum pressure sensor or vacuum flow sensor.28. The robotic system as claimed in claim 26, wherein therobot-agnostic routine involves moving the end effector until a vacuumpressure at the end effector drops below a threshold.
 29. The roboticsystem as claimed in claim 26, wherein the at least one sensor includesany of a force sensor or torque sensor.
 30. The robotic system asclaimed in claim 26, wherein the robot-agnostic routine involves movingthe end effector until movement of the end effector drops below athreshold.
 31. The robotic system as claimed in claim 26, wherein theend effector includes a multi-modal gripper that includes a plurality ofvacuum cups.
 32. The robotic system as claimed in claim 31, wherein eachof the plurality of vacuum cups is associated with a pressure sensor.33. The robotic system as claimed in claim 31, wherein each of theplurality of vacuum cups includes a deformation sensor.
 34. The roboticsystem as claimed in claim 31, wherein the plurality of vacuum cups areprovided as a plurality of end effectors that may be selected forapplication by rotation of the plurality of end effectors with respectto the articulated arm.
 35. The robotic system as claimed in claim 31,wherein the plurality of vacuum cups are mounted in an array.
 36. Arobotic system, comprising: a robot including an end effector; and arobot control system including: at least one sensor for sensing at leastone of a position, movement, acceleration, deformation, vacuum flow orvacuum pressure of the end effector; a main controller remote from therobot and configured to automatically provide at least one main controlsignal to the end effector; and an on-board controller mounted on therobot proximate the end effector and coupled to the at least one sensor,wherein the on-board controller is configured to execute on the on-boardcontroller a robot-agnostic routine until receipt of a sensor outputsignal from the at least one sensor that is outside of a threshold. 37.The articulated arm system as claimed in claim 36, wherein the on-boardcontroller is further configured to automatically provide an interruptsignal to the main controller responsive to the sensor output signal.38. The robotic system as claimed in claim 36, wherein the at least onesensor includes any of a vacuum pressure sensor or vacuum flow sensor.39. The robotic system as claimed in claim 36, wherein therobot-agnostic routine involves moving the end effector until a vacuumpressure at the end effector drops below a threshold.
 40. The roboticsystem as claimed in claim 36, wherein the at least one sensor includesany of a force sensor or torque sensor.
 41. The robotic system asclaimed in claim 36, wherein the robot-agnostic routine involves movingthe end effector until movement of the end effector drops below athreshold.
 42. The robotic system as claimed in claim 36, wherein theend effector includes a multi-modal gripper that includes a plurality ofvacuum cups.
 43. The robotic system as claimed in claim 42, wherein eachof the plurality of vacuum cups is associated with a pressure sensor.44. The robotic system as claimed in claim 42, wherein each of theplurality of vacuum cups includes a deformation sensor.
 45. The roboticsystem as claimed in claim 42, wherein the plurality of vacuum cups areprovided as a plurality of end effectors that may be selected forapplication by rotation of the plurality of end effectors with respectto the articulated arm.
 46. The robotic system as claimed in claim 42,wherein the plurality of vacuum cups are mounted in an array.
 47. Amethod of controlling a robotic system, said method comprising:providing a robot including an end effector; sensing at least one of aposition, movement, acceleration, deformation, vacuum flow or vacuumpressure of the end effector; providing at least one main control signalto the end effector; providing an on-board controller mounted on therobot proximate the end effector and coupled to the at least one sensor;and executing on the on-board controller a robot-agnostic routine untilreceipt of a sensor output signal from the at least one sensor that isoutside of a threshold.
 48. The method as claimed in claim 47, whereinthe method further includes providing an interrupt signal to the maincontroller responsive to the sensor output signal.
 49. The method asclaimed in claim 47, wherein the at least one sensor includes any of avacuum pressure sensor or vacuum flow sensor.
 50. The method as claimedin claim 47, wherein the robot-agnostic routine involves moving the endeffector until a vacuum pressure at the end effector drops below athreshold.
 51. The method as claimed in claim 47, wherein the at leastone sensor includes any of a force sensor or torque sensor.
 52. Themethod as claimed in claim 47, wherein the robot-agnostic routineinvolves moving the end effector until movement of the end effectordrops below a threshold.
 53. The method as claimed in claim 47, whereinthe end effector includes a multi-modal gripper that includes aplurality of vacuum cups.
 54. The method as claimed in claim 53, whereineach of the plurality of vacuum cups is associated with a pressuresensor.
 55. The method as claimed in claim 53, wherein each of theplurality of vacuum cups includes a deformation sensor.
 56. The methodas claimed in claim 53, wherein the plurality of vacuum cups areprovided as a plurality of end effectors that may be selected forapplication by rotation of the plurality of end effectors with respectto the articulated arm.
 57. The method as claimed in claim 53, whereinthe plurality of vacuum cups are mounted in an array.